package com.wejoy.video.middle.station.data.domain.system;


import com.wejoy.video.middle.station.data.domain.BaseDomain;
import com.wejoy.video.middle.station.data.util.StringUtils;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 系统-部门表
 *
 * @author miracle_j
 * @date 2024年03月27日 16:49:14
 */
public class SysDept extends BaseDomain {

    /**
     * poi_name
     */
    private String poiName;
    /**
     * poiId
     */
    private String poiId;

    /** 报警数量 */
    private Integer alarmsCount;
    /** 部门类型 */
    private Integer deptType;
    /** 描述 */
    private String describes;
    /** 所属区域 */
    private String area;
    /** 占地面积 */
    private String siteArea;
    /** 负责人id */
    private String userId;
    /** ue区域 */
    private String ueArea;
    /** 经度 */
    private BigDecimal longitude;
    /** 纬度 */
    private BigDecimal latitude;
    /** 状态 */
    private Integer status;
    /** 状态 */
    private String areaType;
    /** 调度中心id */
    private Long dispatchId;
    /** 公司id */
    private Long companyId;
    /** 监控总数 */
    private Integer cameraCount;
    /** AI监控总数 */
    private Integer aiCameraCount;
    /**
     * 设备类型 逗号分隔
     */
    private String cameraType;
    /**
     * 是否报警中
     */
    private Boolean isAlarmStatus;
    /**
     * 是否存在离线设备
     */
    private Boolean isCarmerOffline;
    /**
     * s是否建模
     */
    private Boolean isModel;
    /**
     * 模型名称
     */
    private String modelName;

    /**VO**/
    /**
     * 当前部门是否为最后一级部门
     */
    private Boolean leaf;
    /**
     * 是否查询子部门
     */
    private Boolean includeLower;

    /** 部门名称 */
    private String name;
    /** 父级ID */
    private Integer parentId = -1;;

    /** 监控离线总数 */
    private Integer cameraOffLineCount;
    /**
     * 是否异常点位
     */
    private Boolean isAbnormal;


    private List<SysUser> users;

    private List<SysDeptVideo> videolist;

    private Boolean checkPoint;

    private Date createTimeStart;

    public Boolean getIsAbnormal() {
        return isAbnormal;
    }

    public void setIsAbnormal(Boolean abnormal) {
        isAbnormal = abnormal;
    }

    public String getUeArea() {
        return ueArea;
    }

    public void setUeArea(String ueArea) {
        this.ueArea = ueArea;
    }

    public String getCameraType() {
        return cameraType;
    }

    public void setCameraType(String cameraType) {
        this.cameraType = cameraType;
    }

    public Boolean getCheckPoint() {
        return checkPoint;
    }

    public void setCheckPoint(Boolean checkPoint) {
        this.checkPoint = checkPoint;
    }

    public List<SysDeptVideo> getVideolist() {
        return videolist;
    }

    public void setVideolist(List<SysDeptVideo> videolist) {
        this.videolist = videolist;
    }

    public List<SysUser> getUsers() {
        return users;
    }

    public void setUsers(List<SysUser> users) {
        this.users = users;
    }

    public Boolean getLeaf() {
        return leaf;
    }

    public void setLeaf(Boolean leaf) {
        this.leaf = leaf;
    }

    public Boolean getIncludeLower() {
        return includeLower==null?(StringUtils.isEmpty(name)?false:true):includeLower;
    }

    public void setIncludeLower(Boolean includeLower) {
        this.includeLower = includeLower;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public Integer getAlarmsCount() {
        return alarmsCount;
    }

    public void setAlarmsCount(Integer alarmsCount) {
        this.alarmsCount = alarmsCount;
    }


    public Integer getDeptType() {
        return deptType;
    }

    public void setDeptType(Integer deptType) {
        this.deptType = deptType;
    }


    public String getDescribes() {
        return describes;
    }

    public void setDescribes(String describes) {
        this.describes = describes;
    }


    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public BigDecimal getLongitude() {
        return longitude;
    }

    public void setLongitude(BigDecimal longitude) {
        this.longitude = longitude;
    }


    public BigDecimal getLatitude() {
        return latitude;
    }

    public void setLatitude(BigDecimal latitude) {
        this.latitude = latitude;
    }


    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }


    public Long getDispatchId() {
        return dispatchId;
    }

    public void setDispatchId(Long dispatchId) {
        this.dispatchId = dispatchId;
    }


    public Integer getCameraCount() {
        return cameraCount;
    }

    public void setCameraCount(Integer cameraCount) {
        this.cameraCount = cameraCount;
    }


    public Integer getAiCameraCount() {
        return aiCameraCount;
    }

    public void setAiCameraCount(Integer aiCameraCount) {
        this.aiCameraCount = aiCameraCount;
    }

    public String getPoiName() {
        return poiName;
    }

    public void setPoiName(String poiName) {
        this.poiName = poiName;
    }

    public String getPoiId() {
        return poiId;
    }

    public void setPoiId(String poiId) {
        this.poiId = poiId;
    }

    public String getSiteArea() {
        return siteArea;
    }

    public void setSiteArea(String siteArea) {
        this.siteArea = siteArea;
    }

    public Boolean getIsModel() {
        return isModel;
    }

    public void setIsModel(Boolean model) {
        isModel = model;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public Date getCreateTimeStart() {
        return createTimeStart;
    }

    public void setCreateTimeStart(Date createTimeStart) {
        this.createTimeStart = createTimeStart;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public String getAreaType() {
        return areaType;
    }

    public void setAreaType(String areaType) {
        this.areaType = areaType;
    }

    public Boolean getIsAlarmStatus() {
        return isAlarmStatus;
    }

    public void setIsAlarmStatus(Boolean alarmStatus) {
        isAlarmStatus = alarmStatus;
    }

    public Boolean getIsCarmerOffline() {
        return isCarmerOffline;
    }

    public void setIsCarmerOffline(Boolean carmerOffline) {
        isCarmerOffline = carmerOffline;
    }

    public Integer getCameraOffLineCount() {
        return cameraOffLineCount;
    }

    public void setCameraOffLineCount(Integer cameraOffLineCount) {
        this.cameraOffLineCount = cameraOffLineCount;
    }
}